package ups.apps.model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the CUENTA database table.
 * 
 */
@Entity
@NamedQuery(name="Cuenta.findAll", query="SELECT c FROM Cuenta c")
public class Cuenta implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="CUE_ID")
	private long cueId;

	@Column(name="CUE_ESTADO")
	private String cueEstado;

	@Column(name="CUE_NUMERO")
	private String cueNumero;

	@Column(name="CUE_TIPO")
	private String cueTipo;

	//bi-directional many-to-one association to Cliente
	@ManyToOne
	@JoinColumn(name="CLI_ID")
	private Cliente cliente;

	//bi-directional many-to-one association to Movimiento
	@OneToMany(mappedBy="cuenta")
	private List<Movimiento> movimientos;

	public Cuenta() {
	}

	public long getCueId() {
		return this.cueId;
	}

	public void setCueId(long cueId) {
		this.cueId = cueId;
	}

	public String getCueEstado() {
		return this.cueEstado;
	}

	public void setCueEstado(String cueEstado) {
		this.cueEstado = cueEstado;
	}

	public String getCueNumero() {
		return this.cueNumero;
	}

	public void setCueNumero(String cueNumero) {
		this.cueNumero = cueNumero;
	}

	public String getCueTipo() {
		return this.cueTipo;
	}

	public void setCueTipo(String cueTipo) {
		this.cueTipo = cueTipo;
	}

	public Cliente getCliente() {
		return this.cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public List<Movimiento> getMovimientos() {
		return this.movimientos;
	}

	public void setMovimientos(List<Movimiento> movimientos) {
		this.movimientos = movimientos;
	}

	public Movimiento addMovimiento(Movimiento movimiento) {
		getMovimientos().add(movimiento);
		movimiento.setCuenta(this);

		return movimiento;
	}

	public Movimiento removeMovimiento(Movimiento movimiento) {
		getMovimientos().remove(movimiento);
		movimiento.setCuenta(null);

		return movimiento;
	}

}